java如何从电子表格行项将准备好的语句循环到derby数据库
在使用预处理语句(pst)时,是否有办法将重复数据输入到一组数据库字段中?我用的是德比数据库
我有一个Excel电子表格,可以从中获取数据。每行有5个输入字段:行项目描述、成本、数量、扩展成本和价格。我想只使用五个条目将其输入到derby db中,但有多行,每个行都有电子表格中的五个条目。数据库包含以下字段: MATLINEITEM varchar 200 MATLINEITEMCOST varchar 7 MATLINEITEMQTY varchar 7 MATLINEITEMXCOST varchar 7 MATLINEITEMPRICE varchar 7
使用带“”的标准插件在这种方法中,我需要为每一行和每个电子表格字段设置一个条目。如果我有10行,那么我需要50行“准备好的声明”。我只想使用一个循环来读取每一行以及分配给该行的五个条目,并将其输入数据库
电子表格中的数据首先转换为字符串(使用POI)并分配给文本字段
addSQL = "INSERT INTO MATERIALTBL (MATLINEITEM, MATLINEITEMCOST,
MATLINEITEMQTY, MATLINEITEMXCOST, MATLINEITEMPRICE) VALUES (?,?,?,?,?) ";
pst = conn.prepareStatement(addSQL);
pst.setString(1,jtxtfld_Item.getText());
pst.setString(2,jtxtfld_Cost.getText());
pst.setString(3,jtxtfld_Qty.getText());
pst.setString(4,jtxtfld_XCost.getText());
pst.setString(5,jtxtfld_Price.getText());
pst.executeUpdate();
任何帮助都将不胜感激。或者给我指出正确的方向,我可以用什么来获得这个结果。谢谢
# 1 楼答案
如果要插入多个insert语句,是可能的
使用
addBatch()
和executeBatch()
的PrepearedStamement
方法创建一个
PrepearedStatement
,并向其中添加批,直到它准备好插入数据库范例
为什么要使用批次
这个
PrepearedStatement
将只发送一次到数据库,并将一次插入所有行,从而节省对数据库的不必要调用